1. Field of the Invention
The present invention is related to generation of digital maps, including dynamic rendering of map tiles.
2. Description of the Related Art
The use of Ajax (Asynchronous JavaScript and XML) in building web-based applications offers the appearance of responsiveness and interactivity to users, making Ajax a popular technique. Web-based mapping and driving directions applications often are implemented using Ajax. Because not all of the page has to be reloaded when only a portion of its contents change, Ajax offers users of client browsers the opportunity to drag a map quickly around a screen, giving the appearance of a locally-based application, rather than a typical client-server interaction.
One drawback to the conventional approach to map rendering is that if a client is attempting to determine the boundaries of tiles in their spatial positions, the client has to know the projection that is being used to draw the map. In addition, because conventional applications use pre-rendered maps, they have certain drawbacks. Pre-rendered maps are created by pre-rendering a typically very large image, and cutting it into a set of separate, smaller images. Those smaller images are then typically further divided into sets of even smaller images known as tiles. Because the center of a tile grid is predetermined, it is difficult to render a map centered on a specific requested location such as a street address, without performing some additional steps to slide the grid to the desired location. In addition, tile sizes are predefined, making it impossible for an application to request a tile of a different size, unless such a tile has been pre-rendered. Further, zoom levels are fixed with pre-rendered maps, based on a number of world maps that have been made available at predetermined scales. Lastly, the appearance of a map is determined at rendering time. Accordingly, an application cannot request on the fly that all roads be in red, or that certain features be highlighted, etc., but rather must accept whatever the map designer chose as the map appearance when the map was rendered.
Accordingly, a need exists in the art for systems and methods to provide an improved architecture for draggable maps.